/*
由于箭头函数没有单独的execution context，因此当使用Function.prototype.call()、
  Function.prototype.apply()或Function.prototype.bind()方法调用它时，作为
  第一个参数传入的执行上下文将被忽略：

*/
var name = 'Unknown';
var greeting = () => {
    console.log('Hi, I\'m ' , this);
    console.log('Hi, I\'m ' + this.name);
}

greeting();   //Hi, I'm undefined
greeting.call({name: 'Sunny'});    // I'm Unknown 
greeting.apply({name: 'Tod'});     // I'm Unknown 

var newGreeting = greeting.bind({name: 'James'});
newGreeting();                     // I'm Unknown



